package object;

public class IntegerDemo {
    public static void main(String[] args) {
      /*  Integer i1=new Integer(500);
        Integer i2=new Integer(500);
        System.out.println(i1==i2);//false,==比较的是地址
        System.out.println(i1.equals(i2));//true,包装类重写equals（）比较值了*/

        Integer a=new Integer("2");
        Integer a1=new Integer(2);
        System.out.println(a1==a);
        System.out.println(a.equals(a1));//包装类重写了equals



      /*  //valueOf()方法会复用1个字节（-128到127）范围内的数据，建议使用valueOf()
        Integer i3=Integer.valueOf(500);a
        Integer i4=Integer.valueOf(500);
        System.out.println(i3==i4);
        System.out.println(i3.equals(i4));//true,包装类重写equals（）比较值了

      //将包装类转换为基本类型
        int i=i4.intValue();
        System.out.println(i);*/


        Integer b=Integer.valueOf("5");
        Integer b1=Integer.valueOf("5");
        System.out.println(b==b1);
        System.out.println(b.equals(b1));

        int c=b1.intValue();
        System.out.println(c);






        //触发了自动装箱特性，会被编译为：Integer i=Integer。valueOf（5）；
       /* Integer i=5;//基本类型到包装类------装箱
        //触发了自动拆箱特性，会被编译为“int j=i.intValue();
        int j=i;//包装类到基本类型--------拆箱*/


        Integer s=8;//Integer s=Integer.valueOf(8);
        int h=s;//int h=s.intValue();


        //演示包装类的常用操作：
        //可以通过包装类来获取基本类型的取值范围
        int max=Integer.MAX_VALUE;//获取最大值
        int min=Integer.MIN_VALUE;//获取最小值
        System.out.println("int最大值为："+max+"int最小值为："+min);


        long max1=Long.MAX_VALUE;
        long min1=Long.MIN_VALUE;
        System.out.println("int最大值为："+max1+"int最小值为："+min1);


        String s1="22";
        int num=Integer.parseInt(s1);//将字符串s1转换为int类型并赋值给num
        System.out.println(num);//22-----int类型

        String s2="123.456";
        double sum=Double.parseDouble(s2);//将字符串s2转换为double类型并赋值给sum
        System.out.println(sum);//123.456-----double类型




        int max3=Integer.MAX_VALUE;
        int min3=Integer.MIN_VALUE;
        System.out.print(""+max3+min3);

        long max5=Long.MAX_VALUE;
        long min5=Long.MIN_VALUE;
        System.out.println(""+max5+min5);

        String  q="33";
        int ss=Integer.parseInt(q);
        System.out.println(ss);

        String r="44.55";
        double w=Double.parseDouble(r);
        System.out.println(w);






    }
}
